﻿using System;
using System.Collections.Generic;
using System.Text;
using PokemonBattle.BattleNetwork;

namespace PokemonBattle.BattleRoom.Client
{
    public interface IRoomClientService
    {

        void OnAcceptChallenge(int from);

        void OnRefuseChallenge(int from);

        void OnChallenge(int from, ChallengeInfo info);

        void OnCancelChallenge(int from);

        void OnDirectBattle(int server, BattleMode battleMode);

        void OnAgentBattle(int identity, byte playerPosition, BattleMode battleMode);

        void OnReceiveObserveInfo(ObserveInfo info);

        void OnReceiveBroadcastMessage(string message);

        void OnReceiveChatMessage(int from, string message);

        void OnLogonSuccess(User info);

        void OnLogonFail(string message);

        void OnBeKicked();

        void OnUpdateUser(User userInfo);

        void OnAddNewUser(User userInfo);

        void OnRemoveUser(int identity);

        void OnAddUserList(UserSequence users);

        void OnUpdateRoomSetting(RoomBattleSetting setting);

        void OnRegistFourPlayerSuccess(int identity);

        void OnAddFourPlayerRoomList(FourPlayerRoomSequence rooms);

        void OnAddFourPlayerRoom(int identity, string host);

        void OnRemoveFourPlayerRoom(int identity);

        void OnUpdateFourPlayerRoom(int identity, byte userCount);

    }
}
